说明
- 本教程假设您使用的是全新安装的 Proxmox VE 8.4.17。
- 如果您使用的是 Proxmox VE 8.4.17,则必须使用 16.x 或 17.x 版本的驱动程序。旧版本驱动程序仅适用于 PVE 7。
- 本教程tesl P4为例。
pve官方工具
安装PVE官方vGPU工具
自_pve-manager_版本起,8.3.4该pve-nvidia-vgpu-helper工具已包含在内。如果您使用的是旧版本,请升级到最新版本或手动安装。
apt install pve-nvidia-vgpu-helper
该pve-nvidia-vgpu-helper工具会进行一些基本设置,例如将nouveau驱动程序列入黑名单、安装头文件包、DKMS 等。您可以按以下步骤开始设置:
pve-nvidia-vgpu-helper setup
安装成功
系统会询问您是否要安装缺失的软件包,请回答“y”。所有必需的软件包成功安装后,您应该会看到此消息。
Adding modprobe config to block loading of the 'nouveau' module.
……
……
All done, you can continue with the NVIDIA vGPU driver installation.
安装完成后需要重启PVE
reboot
创建用于 vGPU 解锁的文件
mkdir /etc/vgpu_unlock
touch /etc/vgpu_unlock/profile_override.toml
mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf
下载编译好的so文件
mkdir -p /opt/vgpu_unlock-rs/target/release
wget -O /opt/vgpu_unlock-rs/target/releaselibvgpu_unlock_rs.so https://alist.homelabproject.cc/p/foxipan/vGPU/17.5/libvgpu_unlock_rs.so
自行编译
准备
# 先运行以下命令卸载旧驱动程序
nvidia-uninstall
# 添加社区 PVE 仓库并删除企业仓库
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list
rm /etc/apt/sources.list.d/pve-enterprise.list
# 安装一些软件包,例如 git、编译器和其他一些工具
apt update
apt dist-upgrade
apt install -y git build-essential dkms pve-headers mdevctl
Git 仓库和Rust编译器
git clone https://gitlab.com/polloloco/vgpu-proxmox.git
# vgpu_unlock-rs 仓库
cd /opt
git clone https://github.com/mbilker/vgpu_unlock-rs.git
# 安装 Rust 编译器
curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal
# 将 Rust 二进制文件添加到你的 $PATH 环境变量中
source $HOME/.cargo/env
# 进入`vgpu_unlock-rs`目录并编译库文件
cd vgpu_unlock-rs/
cargo build --release
安装驱动程序
请阅读以下内容
从 17.0 版本开始,所有 Pascal(及更早版本)GPU 均不再获得官方支持。如果您仍想使用这些 GPU,请继续使用 LTS 16.x 分支。
也可以使用 17.x 版本的驱动程序,但即使你的显卡“受支持”,也需要对驱动程序进行修补,并且还需要执行一些额外的步骤,例如复制旧的 vgpuConfig.xml 文件。以后我可能会详细解释这一点。
wget https://alist.homelabproject.cc/d/foxipan/vGPU/16.12/Host_Drivers/NVIDIA-Linux-x86_64-535.274.03-vgpu-kvm.run
chmod +x NVIDIA-Linux-x86_64-535.274.03-vgpu-kvm.run
./NVIDIA-Linux-x86_64-535.274.03-vgpu-kvm.run --dkms -m=kernel
安装程序会问你Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later.
回答Yes即可
根据您的硬件配置,安装可能需要一两分钟。
如果一切顺利,您将会看到这条信息。
Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 535.274.03) is now complete.
点击Ok退出安装程序。
安装完成后,请重启电脑。
reboot
收尾
等待服务器重启,然后在 shell 中输入以下命令来检查驱动程序是否安装成功。
nvidia-smi
你应该会得到类似这样的输出结果。
Tue Mar 3 15:52:06 2026
+--------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.274.03 Driver Version: 535.274.03 CUDA Version: N/A |
|-----------------------------------------+----------------------+---------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC|
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M.|
| | | MIG M.|
|=========================================+======================+=====================|
| 0 Tesla P4 On | 00000000:01:00.0 Off | Off|
| N/A 58C P8 11W / 75W | 32MiB / 8192MiB | 0% Default|
| | | N/A|
+-----------------------------------------+----------------------+---------------------+
+--------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory|
| ID ID Usage |
|======================================================================================|
| No running processes found |
+--------------------------------------------------------------------------------------+
要验证 vGPU 解锁是否成功,请键入以下命令
mdevctl types
0000:01:00.0
nvidia-760
Available instances: 24
Device API: vfio-pci
Name: NVIDIA RTXA5500-1B
Description: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=24
nvidia-761
Available instances: 12
Device API: vfio-pci
Name: NVIDIA RTXA5500-2B
Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12
nvidia-762
Available instances: 24
Device API: vfio-pci
Name: NVIDIA RTXA5500-1Q
Description: num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=24
nvidia-763
Available instances: 12
Device API: vfio-pci
Name: NVIDIA RTXA5500-2Q
Description: num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=12
nvidia-764
Available instances: 8
Device API: vfio-pci
Name: NVIDIA RTXA5500-3Q
Description: num_heads=4, frl_config=60, framebuffer=3072M, max_resolution=7680x4320, max_instance=8
nvidia-765
Available instances: 6
Device API: vfio-pci
Name: NVIDIA RTXA5500-4Q
Description: num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=6
nvidia-766
Available instances: 4
Device API: vfio-pci
Name: NVIDIA RTXA5500-6Q
Description: num_heads=4, frl_config=60, framebuffer=6144M, max_resolution=7680x4320, max_instance=4
nvidia-767
Available instances: 3
Device API: vfio-pci
Name: NVIDIA RTXA5500-8Q
Description: num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=7680x4320, max_instance=3
nvidia-768
Available instances: 2
Device API: vfio-pci
Name: NVIDIA RTXA5500-12Q
Description: num_heads=4, frl_config=60, framebuffer=12288M, max_resolution=7680x4320, max_instance=2
nvidia-769
Available instances: 1
Device API: vfio-pci
Name: NVIDIA RTXA5500-24Q
Description: num_heads=4, frl_config=60, framebuffer=24576M, max_resolution=7680x4320, max_instance=1
nvidia-770
Available instances: 24
Device API: vfio-pci
Name: NVIDIA RTXA5500-1A
Description: num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=24
nvidia-771
Available instances: 12
Device API: vfio-pci
Name: NVIDIA RTXA5500-2A
Description: num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=12
nvidia-772
Available instances: 8
Device API: vfio-pci
Name: NVIDIA RTXA5500-3A
Description: num_heads=1, frl_config=60, framebuffer=3072M, max_resolution=1280x1024, max_instance=8
nvidia-773
Available instances: 6
Device API: vfio-pci
Name: NVIDIA RTXA5500-4A
Description: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=6
nvidia-774
Available instances: 4
Device API: vfio-pci
Name: NVIDIA RTXA5500-6A
Description: num_heads=1, frl_config=60, framebuffer=6144M, max_resolution=1280x1024, max_instance=4
nvidia-775
Available instances: 3
Device API: vfio-pci
Name: NVIDIA RTXA5500-8A
Description: num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=3
nvidia-776
Available instances: 2
Device API: vfio-pci
Name: NVIDIA RTXA5500-12A
Description: num_heads=1, frl_config=60, framebuffer=12288M, max_resolution=1280x1024, max_instance=2
nvidia-777
Available instances: 1
Device API: vfio-pci
Name: NVIDIA RTXA5500-24A
Description: num_heads=1, frl_config=60, framebuffer=24576M, max_resolution=1280x1024, max_instance=1
如果此命令没有返回任何输出,则 vGPU 解锁功能无法正常工作。
您还可以尝试以下命令来查看您的显卡是否被识别为已启用虚拟GPU:
nvidia-smi vgpu
如果解锁过程一切正常,输出结果应该类似于这样:
Tue Mar 3 17:10:02 2026
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.274.03 Driver Version: 535.274.03 |
|---------------------------------+------------------------------+------------+
| GPU Name | Bus-Id | GPU-Util |
| vGPU ID Name | VM ID VM Name | vGPU-Util |
|=================================+==============================+============|
| 0 Tesla P4 | 00000000:01:00.0 | 0% |
| 3251634195 NVIDIA RTXA... | e6c6... Windows10,debug-... | 0% |
+---------------------------------+------------------------------+------------+
但是,如果您得到这样的输出,那就说明出了问题。
No supported devices in vGPU mode